perm filename CYCDRG.LAP[3,LMM] blob sn#037503 filedate 1973-04-22 generic text, type T, neo UTF8
(DEFPROP CYCDRGFNS (CYCDRGFNS PATFACE FNODLST PATNODFC NODEPICK2 NODEPICK3 NODECHK PATCONN PATPTS PATPOINTS) VAL→
UE) 

(LAP PATFACE SUBR) 
       (JCALL 1. (E CADDR) S) 
       NIL 

(LAP FNODLST SUBR) 
       (PUSH P 1.) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 2. 1.) 
       (HRRZ@ 2. 2.) 
       (HRRZ@ 2. 2.) 
       (HLRZ@ 2. 2.) 
       (PUSH P 2.) 
       (PUSH P 1.) 
 TAG1  (HRRZ@ 1. 0. P) 
       (MOVEM 1. 0. P) 
       (JUMPN 1. TAG6) 
       (MOVE 2. -1. P) 
       (HLRZ@ 1. -2. P) 
       (CALL 2. (E CONS) S) 
       (JRST 0. TAG2) 
 TAG6  (HLRZ@ 2. 0. P) 
       (HRRZ@ 2. 2.) 
       (HRRZ@ 2. 2.) 
       (HLRZ@ 2. 2.) 
       (MOVE 1. -1. P) 
       (CALL 2. (E UNION) S) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG1) 
 TAG2  (SUB P (C 3. 0. 3. 0.)) 
       (POPJ P) 
       NIL 

(LAP PATNODFC SUBR) 
       (JCALL 1. (E CADDDR) S) 
       NIL 

(LAP NODEPICK2 SUBR) 
       (MOVEI 3. (QUOTE NIL)) 
       (MOVEI 2. (QUOTE NIL)) 
       (JCALL 3. (E NODEPICK3) S) 
       NIL 

(LAP NODEPICK3 SUBR) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (PUSH P 3.) 
       (CALL 1. (E CDAR) S) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVE 1. -1. P) 
       (JUMPE 1. TAG5) 
       (MOVE 2. -2. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E MEMQ) S) 
       (JUMPE 1. TAG9) 
       (JRST 0. TAG7) 
 TAG9  (HRRZ@ 1. -4. P) 
       (JUMPN 1. TAG3) 
       (HLRZ@ 2. -1. P) 
       (HLRZ@ 1. -4. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. -3. P) 
       (CALL 2. (E CONS) S) 
       (JRST 0. TAG4) 
 TAG7 
 TAG2  (HRRZ@ 1. -1. P) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG1) 
 TAG3  (MOVE 3. -3. P) 
       (HLRZ@ 2. -1. P) 
       (HLRZ@ 1. -4. P) 
       (HLRZ@ 1. 1.) 
       (CALL 3. (E NODECHK) S) 
       (JUMPE 1. TAG2) 
       (HLRZ@ 2. -1. P) 
       (HLRZ@ 1. -4. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. -3. P) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. -2. P) 
       (PUSH P 1.) 
       (HLRZ@ 1. -2. P) 
       (CALL 2. (E CONS) S) 
       (MOVE 3. 1.) 
       (POP P 2.) 
       (HRRZ@ 1. -4. P) 
       (CALL 3. (E NODEPICK3) S) 
       (MOVEM 1. 0. P) 
       (JUMPE 1. TAG15) 
       (JRST 0. TAG4) 
 TAG15 (JRST 0. TAG2) 
 TAG5  (MOVEI 1. (QUOTE NIL)) 
 TAG4  (SUB P (C 5. 0. 5. 0.)) 
       (POPJ P) 
       NIL 

(LAP NODECHK SUBR) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (PUSH P 3.) 
       (MOVE 1. 2.) 
       (CALL 1. (E CONN) S) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (MOVEI D (QUOTE T) S) 
       (PUSH P D) 
       (MOVE 1. (SPECIAL CURPAT) S) 
       (CALL 1. (E PATCONN) S) 
       (MOVE 2. 1.) 
       (MOVE 1. -6. P) 
       (CALL 2. (E ASSOC) S) 
       (HRRZ@ 1. 1.) 
       (PUSH P 1.) 
 TAG1  (MOVE 1. 0. P) 
       (JUMPE 1. TAG5) 
       (HLRZ@ 1. 0. P) 
       (MOVE 2. -5. P) 
       (MOVEM 1. -2. P) 
       (CALL 2. (E ASSOC2) S) 
       (MOVEM 1. -3. P) 
       (JUMPE 1. TAG3) 
       (MOVE 2. -4. P) 
       (HRRZ@ 1. -3. P) 
       (CALL 2. (E MEMBER) S) 
       (MOVEM 1. -1. P) 
       (JUMPE 1. TAG10) 
 TAG2 
 TAG3 
 TAG4  (HRRZ@ 1. 0. P) 
       (MOVEM 1. 0. P) 
       (JRST 0. TAG1) 
 TAG5  (MOVE 1. -1. P) 
       (JRST 0. TAG9) 
 TAG10 (MOVEI 1. (QUOTE NIL)) 
 TAG9  (SUB P (C 8. 0. 8. 0.)) 
       (POPJ P) 
       NIL 

(LAP PATCONN SUBR) 
       (JCALL 1. (E CADR) S) 
       NIL 

(LAP PATPTS SUBR) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVE 1. -3. P) 
       (JUMPE 1. TAG5) 
       (HLRZ@ 1. -3. P) 
       (MOVE 2. -4. P) 
       (MOVEM 1. -2. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E ASSOC2) S) 
       (MOVEM 1. -1. P) 
       (PUSH P (C 0. 0. TAG11 0.)) 
       (PUSH P -1. P) 
       (HRRZ@ 1. -4. P) 
       (MOVEI 2. (QUOTE 15.)) 
       (PUSH P 1.) 
       (HRRZ@ 1. -4. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E *PLUS) S) 
       (MOVEI 2. (QUOTE 15.)) 
       (PUSH P 1.) 
       (HRRZ@ 1. -5. P) 
       (CALL 1. (E CADR) S) 
       (CALL 2. (E *PLUS) S) 
       (CALL 1. (E NCONS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (CALL 1. (E NCONS) S) 
       (PUSH P 1.) 
       (MOVNI 6. 2.) 
       (JCALL 14. (E NCONC) S) 
 TAG11 (MOVEM 1. 0. P) 
 TAG2 
 TAG3 
 TAG4  (HRRZ@ 1. -3. P) 
       (MOVEM 1. -3. P) 
       (JRST 0. TAG1) 
 TAG5  (MOVE 1. 0. P) 
       (SUB P (C 6. 0. 6. 0.)) 
       (POPJ P) 
       NIL 

(LAP PATPOINTS SUBR) 
       (CALL 1. (E CDDDDR) S) 
       (JCALL 1. (E CADR) S) 
       NIL